93 - 7.1.13 Stapelverarbeitung: Anhang zu Programmüberlagerungen [ID:19251]
50 von 79 angezeigt

Ja, kommen wir doch noch mal zu der Überlagerungstechnik zurück und jetzt ein bisschen genauer im Detail

anschauen, wie denn so eine Überlagerungsstruktur eines solchen Programms, was überlagerungsfähige

Bestandteile enthält, denn typischerweise aussieht und wie diese Struktur denn entsteht.

Nun, Programme, die solche Überlagerungen enthalten, sind typischerweise drei geteilt.

Wir haben denn einerseits den sogenannten Hauptspeicher-Residenten-Programmanteil,

das RUT-Programm.

Letztendlich, man kann auch sagen, ist das Hauptprogramm, wovon man aus die Überlagerung

denn startet zu aktivieren im Endeffekt.

Und dann hat man halt einen Bereich, wo denn eben mehrere solche Überlagerungen sich dann

halt befinden können, die dann eben immer zu unterschiedlichen Zeitpunkten im System

den aktiv sein würden.

Und schließlich hat man dann noch eine sogenannte Comment-Section, das ist ein gemeinsamer Datenbereich,

damit dann praktisch Berechnungen, die von einer Überlagerung generiert worden sind,

praktisch Eingabedaten werden können für eine andere Überlagerung, die zu einem späteren

Zeitpunkt dann eingelagert werden sollen.

Das heißt, die werden also den Informationen zwischen gespeichert, die überlagerungsübergreifende

Bedeutung denn sozusagen besitzen.

Nur diese Programmzerlegung findet statt zum Programmierübersetzung oder zum Bindezeitpunkt.

Also gibt es verschiedene Möglichkeiten, die man hat.

Das kann manuell denn sein, wenn man eben den Programmierzeitpunkt zum Beispiel betrachtet,

aber typischerweise automatisiert, wenn man den Übersetzungs- oder den Bindezeitpunkt

denn betrachten kann.

Typischerweise wird man die Anzahl solcher Überlagerungen fest und zwar statisch vorsehen.

Man kann sich das auch vorstellen, dass das ja alle nur aus der Programmanalyse, denn zum

Beispiel halt herauskommt, dass man da nicht eine beliebige Anzahl von solchen überlagerungsfähigen

Bereichen oder Teilen, Bestandteilen in so einem Programm findet, sondern einfach eine

bestimmte maximale Zahl, den letztendlich halt hat.

Also das wird statisch geschehen.

Der dynamische Aspekt ist einfach denn der, wann denn welche Überlagerung denn wirklich

aktiviert wird, wann die denn wirklich eingelagert wird in dem System.

Ein Hinweis ist hier schon zu machen.

Diese Überlagerung, von denen wir hier sprechen, mit dieser Overlay-Technik, die betreffen

immer Teile eines Maschinenprogramms.

Das, was wir typischerweise selbst entwickeln, das sind also nicht Elemente, die mehreren

Programmen gemeinsam sind.

Also hier bezieht man sich denn nicht etwa auf eine Bibliothek, so wie eine Shared Library

oder so eine DLL, wie man sie aus dem Windows-Bereich also kennt, so eine Dynamic Link Library,

das nicht mit diesen Überlagerungsstrukturen, mit der Overlay-Technik bezüglich eines Maschinenprogramms

zu verwechseln.

Also das nochmal als Hinweis.

Nun, hier mal so eine typische Programme- und Adressraumstruktur, die man halt hätte.

Diese Dreiteilung, die man jetzt hier sieht, hier Route-Bereich wäre das Hauptprogramm,

Shared wären die gemeinsamen Daten und hier kommen jetzt hier in dem Fall drei Überlagerungen

unterschiedlicher Größe.

Man hat denn im Vordergrundspeicher, im Hauptspeicher einen Überlagerungsbereich, der letztendlich

nachher die maximale Größe von solchen Überlagerungen vorgibt, wo wir jetzt hier drei verschiedene

Overlays sehen, drei verschiedene Größen im Endeffekt und wir sehen eben, dass da auch

Verschnitt existiert.

Den akzeptiert man halt eben auch.

Das liegt in der Natur der Sache, dass man hat.

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

00:06:46 Min

Aufnahmedatum

2020-07-06

Hochgeladen am

2020-07-06 20:06:31

Sprache

de-DE

Tags

module programmstruktur Variablen Datentypen Preprozessor Gültigkeit
Einbetten
Wordpress FAU Plugin
iFrame
Teilen